//---------------------------------------------------------------------
//  This file is part of the Background Motion solution.
// 
//  Copyright (C) Mindscape (TM).  All rights reserved.
//  http://www.mindscape.co.nz
// 
//  THIS CODE AND INFORMATION ARE PROVIDED AS IS WITHOUT WARRANTY OF ANY
//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//  PARTICULAR PURPOSE.
//---------------------------------------------------------------------

namespace Mindscape.BackgroundMotion.Website.Infrastructure
{
  /// <summary>
  /// Static helper class and subclasses which holds all system wide constants
  /// </summary>
  public static class Constants
  {
    public const int PageSize = 8; 

    /// <summary>
    /// Session keys
    /// </summary>
    public static class Session
    {
      public const string ReturnUrl = "ReturnUrl";
      public const string MemberId = "MemberId";
    }

    /// <summary>
    /// Named cookies
    /// </summary>
    public static class Cookie
    {
      public const string RememberMe = "RememberMe";
    }

    /// <summary>
    /// Query string parameter keys
    /// </summary>
    public static class Parameters
    {
      public const string Query = "q";
      public const string Tag = "tag";
      public const string Filter = "Filter";
      public const string UserID = "u";
      public const string Page = "p";
      public const string ErrorCode = "code";
    }

    /// <summary>
    /// Constant type id mappings
    /// </summary>
    public static class ContentTypeIds
    {
      public const int Video = 1;
      public const int Image = 2;
    }

    /// <summary>
    /// HTTP status codes associated with system errors
    /// </summary>
    public static class ErrorCodes
    {
      public const int NotFound = 404;
      public const int InternalServerError = 500;
    }

    /// <summary>
    /// Filters which can be applied to system views
    /// </summary>
    public static class Filters
    {
      public const string MostRecent = "MostRecent";
      public const string MostViewed = "MostViewed";
      public const string TopRated = "TopRated";
      public const string Videos = "Videos";
      public const string Images = "Images";
      public const string Today = "Today";
      public const string ThisWeek = "ThisWeek";
      public const string ThisMonth = "ThisMonth";
    }
  }
}